﻿<?xml version="1.0" encoding="utf-8"?>
<xsd:schema
    targetNamespace="http://metalx.org/i286/Functions/Console"
    elementFormDefault="qualified"
    xmlns="http://metalx.org/i286/Functions/Console"
    xmlns:xsd="http://www.w3.org/2001/XMLSchema">

	<xsd:element name="WriteString">
		<xsd:annotation>
			<xsd:documentation>
				Writes a string of characters to the console.

				Input:
				SI=String
			</xsd:documentation>
		</xsd:annotation>
		<xsd:complexType>
			<xsd:attribute name="endLine" type="xsd:boolean" default="false"/>
		</xsd:complexType>
	</xsd:element>

	<xsd:element name="WriteStream">
		<xsd:annotation>
			<xsd:documentation>
				Writes a stream of characters to the console.

				Input:
				SI=Stream
			</xsd:documentation>
		</xsd:annotation>
		<xsd:complexType>
			<xsd:attribute name="endLine" type="xsd:boolean" default="false"/>
		</xsd:complexType>
	</xsd:element>
	
	<xsd:element name="WriteCharacterArray">
		<xsd:annotation>
			<xsd:documentation>
				Writes an array of characters to the console.

				Input:
				SI=Array
				CX=Length
			</xsd:documentation>
		</xsd:annotation>
		<xsd:complexType>
			<xsd:attribute name="endLine" type="xsd:boolean" default="false"/>
		</xsd:complexType>
	</xsd:element>

	<xsd:element name="WriteText">
		<xsd:annotation>
			<xsd:documentation>
				Writes text to the console.
				
				Modifies: AX, BX, CX
			</xsd:documentation>
		</xsd:annotation>
		<xsd:complexType mixed="true">
			<xsd:attribute name="endLine" type="xsd:boolean" default="false"/>
		</xsd:complexType>
	</xsd:element>
	
	<xsd:element name="WriteCharacters">
		<xsd:annotation>
			<xsd:documentation>
				Writes individual characters to the console.
				
				Modifies: AX
			</xsd:documentation>
		</xsd:annotation>
		<xsd:complexType mixed="true">
			<xsd:attribute name="endLine" type="xsd:boolean" default="false"/>
		</xsd:complexType>
	</xsd:element>

	<xsd:element name="WriteShort">
		<xsd:annotation>
			<xsd:documentation>
				Writes a short integer value to the screen.

				Input:
				AX=Value

				Modifies: AX BX CX DX
			</xsd:documentation>
		</xsd:annotation>
		<xsd:complexType>
			<xsd:attribute name="endLine" type="xsd:boolean" default="false"/>
		</xsd:complexType>
	</xsd:element>
	
	<xsd:element name="WriteShortHex">
		<xsd:annotation>
			<xsd:documentation>
				Writes a short integer value to the screen in hexadecimal format.

				Input:
				AX=Value
				
				Modifies: AX BX CX DX
			</xsd:documentation>
		</xsd:annotation>
		<xsd:complexType>
			<xsd:attribute name="digits" type="xsd:unsignedByte" default="0"/>
			<xsd:attribute name="endLine" type="xsd:boolean" default="false"/>
		</xsd:complexType>
	</xsd:element>
</xsd:schema>
